home *** CD-ROM | disk | FTP | other *** search
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; ;;
- ;;; Centre for Speech Technology Research ;;
- ;;; University of Edinburgh, UK ;;
- ;;; Copyright (c) 1996,1997 ;;
- ;;; All Rights Reserved. ;;
- ;;; ;;
- ;;; Permission is hereby granted, free of charge, to use and distribute ;;
- ;;; this software and its documentation without restriction, including ;;
- ;;; without limitation the rights to use, copy, modify, merge, publish, ;;
- ;;; distribute, sublicense, and/or sell copies of this work, and to ;;
- ;;; permit persons to whom this work is furnished to do so, subject to ;;
- ;;; the following conditions: ;;
- ;;; 1. The code must retain the above copyright notice, this list of ;;
- ;;; conditions and the following disclaimer. ;;
- ;;; 2. Any modifications must be clearly marked as such. ;;
- ;;; 3. Original authors' names are not deleted. ;;
- ;;; 4. The authors' names are not used to endorse or promote products ;;
- ;;; derived from this software without specific prior written ;;
- ;;; permission. ;;
- ;;; ;;
- ;;; THE UNIVERSITY OF EDINBURGH AND THE CONTRIBUTORS TO THIS WORK ;;
- ;;; DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ;;
- ;;; ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ;;
- ;;; SHALL THE UNIVERSITY OF EDINBURGH NOR THE CONTRIBUTORS BE LIABLE ;;
- ;;; FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ;;
- ;;; WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ;;
- ;;; AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ;;
- ;;; ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF ;;
- ;;; THIS SOFTWARE. ;;
- ;;; ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;
- ;;; Functions specific to using Festival in cslush part of the OGI toolkit
- ;;; The OGI toolkit is a complete dialog building system with speech
- ;;; recognition and synthesis (Festival) it is available for free for
- ;;; research purposes from
- ;;; http://www.cse.ogi.edu/CSLU/toolkit/toolkit.html
- ;;;
- ;;; Note this cslush interface requires you to compile festival
- ;;; with tcl (7.6)
- ;;;
- ;;; The functions replace the C++ level functions Jacques H. de Villiers
- ;;; <jacques@cse.ogi.edu> from CSLU wrote for the previous version
- ;;;
-
- (if (not (member 'tcl *modules*))
- (error "cslush: can't load cslush, TCL not supported in this installation of Festival."))
-
- (define (cslush.getwave utt)
- "(cslush.getwave UTT)
- Extract wave memory info, pass this to wave import in CSLUsh."
- (format nil "%s %s %s"
- (utt.wave.info utt 'data_addr)
- (utt.wave.info utt 'num_samples)
- (utt.wave.info utt 'sample_rate)))
-
- (define (cslush.getphone utt)
- "(cslush.getphone UTT)
- Return segment names a single string of phones, for use to pass to
- TCL."
- (let ((phones ""))
- (mapcar
- (lambda (s)
- (if (string-equal phones "")
- (set! phones (format nil "%s" (utt.streamitem.feat utt s 'name)))
- (set! phones (format nil "%s %s"
- phones (utt.streamitem.feat utt s 'name)))))
- (utt.stream utt 'Segment))
- phones))
-
- (define (cslush TCLCOMMAND)
- "(cslush TCLCOMMAND)
- Pass TCLCOMMAND to TCL interpreter, returns what TCL returns as a
- string."
- (tcl_eval TCLCOMMAND))
-
-
- (provide 'cslush)
-